package com.liy.cloud.common.pw.entity;

import com.das.framework.common.vo.BaseVO;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Size;
import java.util.List;

/**
 * @Author: liyang
 * @Date: 2018/6/26 20:31
 **/
public class PwAccountBillEntity extends BaseVO<String> {

    private static final long serialVersionUID = 12033021004509074L;

    /*
     * 1.车站编号
     */
    @NotBlank(message = "{common.validation.notnull}")
    @Size(max = 10, message = "{common.validation.length}")
    private String systemId;

    /*
     * 2.单据编号
     */
    @NotBlank(message = "{common.validation.notnull}")
    @Size(max = 32, message = "{common.validation.length}")
    private String accountId;

    /*
     * 3.单据类型
     */
    @NotBlank(message = "{common.validation.notnull}")
    @Size(max = 2, message = "{common.validation.length}")
    private String type;

    /*
     * 4.物品Id
     */
    @NotBlank(message = "{common.validation.notnull}")
    @Size(max = 20, message = "{common.validation.length}")
    private String itemId;

    /*
     * 5.物品状态
     */
    @Size(max = 1, message = "{common.validation.length}")
    private String status;

    /*
     * 6.有效期
     */
    @Size(max = 20, message = "{common.validation.length}")
    private String vaildTime;

    /*
     * 7.操作类型
     */
    @Size(max = 2, message = "{common.validation.length}")
    private String operType;

    /*
     * 8.出入库标识
     */
    @Size(max = 2, message = "{common.validation.length}")
    private String inoutF;

    /*
     * 9.操作数量
     */
    private Long operNum;

    /*
     * 10.剩余数量
     */
    private Long numLeft;

    /*
     * 11.操作金额
     */
    private Double operMoney;

    /*
     * 12.剩余金额
     */
    private Double moneyLeft;

    /*
     * 13.审核员
     */
    @Size(max = 10, message = "{common.validation.length}")
    private String checkOper;

    /*
     * 14.审核时间
     */
    @Size(max = 20, message = "{common.validation.length}")
    private String checkDate;

    private String itemIdName;

    private String startDate;

    private String endDate;


    /**
     * @Author: liyang
     * @Date: 2018/8/30  14:04
     * @Description: 传入多个 type值 查询对应的bill单据
     **/
    private List<String> types;


    public List<String> getTypes() {
        return types;
    }

    public void setTypes(List<String> types) {
        this.types = types;
    }

    public String getSystemId() {
        return systemId;
    }

    public void setSystemId(String systemId) {
        this.systemId = systemId;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getVaildTime() {
        return vaildTime;
    }

    public void setVaildTime(String vaildTime) {
        this.vaildTime = vaildTime;
    }

    public String getOperType() {
        return operType;
    }

    public void setOperType(String operType) {
        this.operType = operType;
    }

    public String getInoutF() {
        return inoutF;
    }

    public void setInoutF(String inoutF) {
        this.inoutF = inoutF;
    }

    public Long getOperNum() {
        return operNum;
    }

    public void setOperNum(Long operNum) {
        this.operNum = operNum;
    }

    public Long getNumLeft() {
        return numLeft;
    }

    public void setNumLeft(Long numLeft) {
        this.numLeft = numLeft;
    }

    public Double getOperMoney() {
        return operMoney;
    }

    public void setOperMoney(Double operMoney) {
        this.operMoney = operMoney;
    }

    public Double getMoneyLeft() {
        return moneyLeft;
    }

    public void setMoneyLeft(Double moneyLeft) {
        this.moneyLeft = moneyLeft;
    }

    public String getCheckOper() {
        return checkOper;
    }

    public void setCheckOper(String checkOper) {
        this.checkOper = checkOper;
    }

    public String getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(String checkDate) {
        this.checkDate = checkDate;
    }

    public String getItemIdName() {
        return itemIdName;
    }

    public void setItemIdName(String itemIdName) {
        this.itemIdName = itemIdName;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }
}
